from django.db import models
from django.utils import timezone
from django.db import connection
from django.contrib.auth.models import AbstractUser
# Create your models here.
class userext(AbstractUser):
    user_company=models.CharField(max_length=255,null=False) #单位
    user_part=models.ForeignKey('part',to_field='id',on_delete=models.SET_NULL,null=True) #部门
class apply_add_main(models.Model):#申请员工增加表
    user_name=models.CharField(max_length=255,null=False) #姓名
    id_card=models.CharField(max_length=255,null=True) #身份证号码
    id_work=models.CharField(max_length=255,null=True) #工号
    user_company=models.CharField(max_length=255,null=False) #单位
    user_part=models.ForeignKey('part',to_field='id',on_delete=models.SET_NULL,null=True) #部门
    user_identity=models.CharField(max_length=255,null=True) #类别
    user_position=models.CharField(max_length=255,null=False) #职务
    phone_number=models.CharField(max_length=255,null=False,unique=False) #手机号码
    short_number=models.CharField(max_length=255,null=True) #集团短号
    apply_user=models.CharField(max_length=255,null=False) #申请人
    status=models.CharField(max_length=255,null=False) #状态 已申请、已审批、已办理、已回执、已完成。
    status_time = models.DateTimeField(null=True) #状态变更时间
    ip_address = models.CharField(max_length=255,null=False)  #审批IP地址
    remark=models.CharField(max_length=255,null=True) #备注
    fail_reason = models.CharField(max_length=255,null=False)  #失败原因
class apply_add_vice(models.Model):#申请员工家属增加表
    id_main=models.ForeignKey('number_main',to_field='id',on_delete=models.SET) #部门
    user_name=models.CharField(max_length=255,null=False) #姓名
    id_card=models.CharField(max_length=255,null=True) #身份证号码
    phone_number=models.CharField(max_length=255,null=False,unique=False) #手机号码
    short_number=models.CharField(max_length=255,null=True) #集团短号
    apply_user=models.CharField(max_length=255,null=False) #申请人
    status=models.CharField(max_length=255,null=False) #状态 已申请、已审批、已办理、已回执、已完成。
    status_time = models.DateTimeField(null=True) #状态变更时间
    ip_address = models.CharField(max_length=255,null=False)  #审批IP地址
    remark=models.CharField(max_length=255,null=True) #备注
    fail_reason = models.CharField(max_length=255,null=False)  #失败原因
class apply_alter(models.Model):#申请变更表
    number_id=models.CharField(max_length=255,null=False) #在库ID 
    number_type=models.CharField(max_length=255,null=False) #在库表
    user_name=models.CharField(max_length=255,null=False) #姓名
    id_card=models.CharField(max_length=255,null=True) #身份证号码
    id_work=models.CharField(max_length=255,null=True) #工号
    user_company=models.CharField(max_length=255,null=False) #单位
    user_part=models.ForeignKey('part',to_field='id',on_delete=models.SET_NULL,null=True) #部门
    user_identity=models.CharField(max_length=255,null=True) #类别
    user_position=models.CharField(max_length=255,null=False) #职务
    phone_number=models.CharField(max_length=255,null=False) #手机号码
    short_number=models.CharField(max_length=255,null=False) #集团短号
    edit_type=models.CharField(max_length=255,null=False) #变更类型 1是修改手机大号、2是修改手机小号、3是变更身份信息
    edit_remark=models.CharField(max_length=255,null=False) #变更备注
    apply_user=models.CharField(max_length=255,null=False) #申请人
    status=models.CharField(max_length=255,null=False) #状态 已申请、已审批、已办理、已回执、已完成。
    status_time=models.DateTimeField(null=True) #状态变更时间
    ip_address=models.CharField(max_length=255,null=False)  #审批IP地址
    fail_reason=models.CharField(max_length=255,null=False)  #失败原因
class apply_del(models.Model):#申请删除表
    number_id=models.CharField(max_length=255,null=False) #在库ID 
    number_type=models.CharField(max_length=255,null=False) #在库表
    user_name=models.CharField(max_length=255,null=False) #姓名
    user_identity=models.CharField(max_length=255,null=True) #类别
    user_company=models.CharField(max_length=255,null=False) #单位
    user_part=models.ForeignKey('part',to_field='id',on_delete=models.SET_NULL,null=True) #部门
    phone_number=models.CharField(max_length=255,null=False) #手机号码
    short_number=models.CharField(max_length=255,null=False) #集团短号
    reason=models.CharField(max_length=255,null=False) #原因   
    apply_user=models.CharField(max_length=255,null=False) #申请人
    status=models.CharField(max_length=255,null=False) #状态 已申请、已审批、已办理、已回执、已完成。
    status_time=models.DateTimeField(null=True) #状态变更时间
    ip_address = models.CharField(max_length=255,null=False)  #IP地址
    fail_reason = models.CharField(max_length=255,null=False)  #失败原因
class number_error(models.Model):#报错
    number_id=models.CharField(max_length=255,null=False) #在库ID main 或者vice
    number_type=models.CharField(max_length=255,null=False) #在库类型
    error_content=models.CharField(max_length=255,null=False) #错误内容
    error_time=models.DateTimeField(null=True) #状态变更时间
    apply_user=models.CharField(max_length=255,null=False) #申请人
class number_main(models.Model):#在库主号列表
    user_name=models.CharField(max_length=255,null=False) #姓名
    pinyin=models.CharField(max_length=255,null=False) #拼音
    id_card=models.CharField(max_length=255,null=True) #身份证号码
    id_work=models.CharField(max_length=255,null=True) #工号
    user_company=models.CharField(max_length=255,null=False) #单位
    user_part=models.ForeignKey('part',to_field='id',on_delete=models.SET_NULL,null=True) #部门
    user_identity=models.CharField(max_length=255,null=True) #人员属性
    user_position=models.CharField(max_length=255,null=False) #职务
    phone_number=models.CharField(max_length=255,null=False,unique=True) #手机号码
    short_number=models.CharField(max_length=255,null=False,unique=True) #集团短号
    remark=models.CharField(max_length=255,null=True) #备注
    is_app=models.BooleanField()  #是否在APP中显示
class number_vice(models.Model):#在库副号列表
    id_main=models.ForeignKey('number_main',to_field='id',on_delete=models.SET) #主号关联
    user_name=models.CharField(max_length=255,null=False) #姓名
    id_card=models.CharField(max_length=255,null=True) #身份证号码
    phone_number=models.CharField(max_length=255,null=False,unique=True) #手机号码
    short_number=models.CharField(max_length=255,null=False,unique=True) #集团短号
    remark=models.CharField(max_length=255,null=True) #备注
class no_pool(models.Model):#号码池
    short_number=models.CharField(max_length=255,null=False,unique=True) #集团短号
    belong=models.CharField(max_length=255,null=False) #号段归属
    num_type=models.CharField(max_length=255,null=False) #号段类别
    is_use=models.BooleanField()  #是否使用
    is_re=models.BooleanField()  #是否家属
class message(models.Model):#通知
    title=models.CharField(max_length=255,null=False) #标题
    content=models.CharField(max_length=255,null=False) #内容
    relase_user=models.CharField(max_length=255,null=False) #发布人
    relase_company=models.CharField(max_length=255,null=False) #发布人
    release_time = models.DateTimeField(auto_now_add=True) #发布时间
class part(models.Model):#部门
    part_name=models.CharField(max_length=255,null=False) #标题
    company_name=models.CharField(max_length=255,null=False) #内容